#ifndef __FTPCLIENT_H_
#define __FTPCLIENT_H_


#include "Interface.h"
#include <iostream>
#include <string>
#include <vector>

using namespace std;



class CFtpClient
{
   public:
   	 CFtpClient();
	 ~CFtpClient();
	
   //连接ftp服务器
	int ftp_connect(const char* p, int port);

	//登陆ftp服务器
	int ftp_login(char* user, char* passwd);

	//显示当前目录
	int ftp_pwd(char* buff);

	//改变目录
	int ftp_cd(char* dir);

	//回到上一级目录
	int ftp_cdup();

	//创建目录
	int ftp_mkdir(char * dir);

	//删除目录
	int ftp_rmdir(char * dir);

	//数据传输模式
	int ftp_setpasv();

	//下载文件
	int ftp_download(char * remotefile, char* localfile);

	//上传文件
	int ftp_upload(char * localfile, char * remotepath, char * remotefilename);

	//退出登录
	int ftp_quit();

	//列出目录的所有文件
	int ftp_list(char* dir);

   private:
	int ftp_checkresp(char expresp) ; //接收返回状态，检测是否成功
	int ftp_sendcmd(); //发送指令 

	//splite功能的实现
	vector<string>  * split(const string &str, const string &sep);

	//mkdir splite定制功能的实现
	vector<string>	*dirsplit(const string &str, const string &sep);

    int m_socketctrl;
	int m_sockdata;
 
	char m_resp[256]; //存放返回的语句
	char m_cmd[256]; //存放指令

};







#endif